[INFO] fetching crate visit_diff 0.1.1...
[INFO] checking visit_diff-0.1.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate visit_diff 0.1.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate visit_diff 0.1.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate visit_diff 0.1.1
[INFO] finished tweaking crates.io crate visit_diff 0.1.1
[INFO] tweaked toml for crates.io crate visit_diff 0.1.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded visit_diff_derive v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 28b60f5646ec7263d9527e0e9c117e3614a45fdefa8a2f4c431beacd92208009
[INFO] running `Command { std: "docker" "start" "-a" "28b60f5646ec7263d9527e0e9c117e3614a45fdefa8a2f4c431beacd92208009", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "28b60f5646ec7263d9527e0e9c117e3614a45fdefa8a2f4c431beacd92208009", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28b60f5646ec7263d9527e0e9c117e3614a45fdefa8a2f4c431beacd92208009", kill_on_drop: false }`
[INFO] [stdout] 28b60f5646ec7263d9527e0e9c117e3614a45fdefa8a2f4c431beacd92208009
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3cf57556492454d2c5ec528ed42b6069e9acc4f6bd958942740f585ee8ad690
[INFO] running `Command { std: "docker" "start" "-a" "a3cf57556492454d2c5ec528ed42b6069e9acc4f6bd958942740f585ee8ad690", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling visit_diff_derive v0.1.0
[INFO] [stderr]     Checking visit_diff v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:29
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:40
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:23
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:40
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:29
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:40
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:23
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:40
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `L` and `R` are never read
[INFO] [stdout]   --> src/debug.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct DIFF<T, S> {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 86 |     L: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 87 |     R: S,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DIFF` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `L` and `R` are never read
[INFO] [stdout]   --> src/debug.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct DIFF<T, S> {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 86 |     L: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 87 |     R: S,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DIFF` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.68s
[INFO] running `Command { std: "docker" "inspect" "a3cf57556492454d2c5ec528ed42b6069e9acc4f6bd958942740f585ee8ad690", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3cf57556492454d2c5ec528ed42b6069e9acc4f6bd958942740f585ee8ad690", kill_on_drop: false }`
[INFO] [stdout] a3cf57556492454d2c5ec528ed42b6069e9acc4f6bd958942740f585ee8ad690
[INFO] checking visit_diff-0.1.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate visit_diff 0.1.1 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate visit_diff 0.1.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate visit_diff 0.1.1
[INFO] finished tweaking crates.io crate visit_diff 0.1.1
[INFO] tweaked toml for crates.io crate visit_diff 0.1.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 99ddc335b5ad30e22fa6a249578d38169856d07b819eafeeea9f488bcde4d38c
[INFO] running `Command { std: "docker" "start" "-a" "99ddc335b5ad30e22fa6a249578d38169856d07b819eafeeea9f488bcde4d38c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "99ddc335b5ad30e22fa6a249578d38169856d07b819eafeeea9f488bcde4d38c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99ddc335b5ad30e22fa6a249578d38169856d07b819eafeeea9f488bcde4d38c", kill_on_drop: false }`
[INFO] [stdout] 99ddc335b5ad30e22fa6a249578d38169856d07b819eafeeea9f488bcde4d38c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14d5dd046618b34e68c65fa58d1176eeb85960f9b244610388804aeb4234797f
[INFO] running `Command { std: "docker" "start" "-a" "14d5dd046618b34e68c65fa58d1176eeb85960f9b244610388804aeb4234797f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling visit_diff_derive v0.1.0
[INFO] [stderr]     Checking visit_diff v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:29
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:40
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:23
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:40
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:29
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:305:40
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 305 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:23
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err>;
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:25:40
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/debug.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn same(self, a: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:203:40
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:23
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/detect.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/unit.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn difference(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &dyn Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constant.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn same(self, _: &Debug, _: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn difference(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &dyn Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn same(self, a: &Debug, b: &dyn Debug) -> Result<Self::Ok, Self::Err> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `L` and `R` are never read
[INFO] [stdout]   --> src/debug.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct DIFF<T, S> {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 86 |     L: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 87 |     R: S,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DIFF` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/impls.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 | impl_diff_partial_eq!(core::ops::Range<T> | T);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/impls.rs:256:23
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl_diff_partial_eq!(core::ops::RangeFrom<T> | T);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `visit_diff` (lib) due to 3 previous errors; 27 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: fields `L` and `R` are never read
[INFO] [stdout]   --> src/debug.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct DIFF<T, S> {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 86 |     L: T,
[INFO] [stdout]    |     ^
[INFO] [stdout] 87 |     R: S,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DIFF` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 267 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/impls.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if a != b {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::addr_eq(*a, *b) {
[INFO] [stdout]     |            ++++++++++++++++++++ ~~~ +
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 281 |         if !std::ptr::eq(*a, *b) {
[INFO] [stdout]     |            +++++++++++++++ ~~~ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "14d5dd046618b34e68c65fa58d1176eeb85960f9b244610388804aeb4234797f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14d5dd046618b34e68c65fa58d1176eeb85960f9b244610388804aeb4234797f", kill_on_drop: false }`
[INFO] [stdout] 14d5dd046618b34e68c65fa58d1176eeb85960f9b244610388804aeb4234797f
